1. Field of the Invention
The present invention relates to a musical sound synthesizing apparatus which simulates a sound generating mechanism of a string instrument using an electronic circuit.
2. Description of the Related Art
Recently, many musical sound synthesizing apparatuses have been developed which utilize a digital electronic circuit such as an electronic piano or a synthesizer using advanced digital techniques. A music sound synthesizing apparatus has been proposed which analyzes a sound generating mechanism of an instrument and which realizes the mechanism using a digital electronic circuit, for example, as disclosed in Japanese Patent Publication Sho 63-40199, entitled "Signal Processor".
Referring to the drawings, the above musical sound synthesizing apparatus will be described. FIG. 26 is a block diagram of the apparatus which simulates the sound generating mechanism of a string instrument of the type in which the strings are touched, such as a guitar shown in FIGS. 28A, B and C and a string instrument of the type in which the strings are hit, such as a piano shown in FIGS. 29A, B and C, using an electronic digital circuit.
In FIG. 26, reference numeral 261 denotes an adder which adds input data and the data read from a delay unit 401, while reference numeral 262 denotes an adder which adds input data and the data read from a delay unit 269. The result of the addition from the adder 261 is temporarily stored in a delay unit 263, the data from which is processed by an inverter 265 and a low pass filter 266, and the resulting data is temporarily stored in a delay unit 269. The result of the addition from the adder 262 is temporarily stored in a delay unit 264, the data from which is processed by an inverter 267 and a low pass filter 268, and the resulting data is temporarily stored in a delay unit 401. The word length of the delay units 263 and 269 is of n/2 stages, while the word length of the delay units 264 and 401 is of m/2 stages. A junction unit 402 includes inverter 267 and low pass filter 268; a waveguide 403 includes delay units 401 and 264; a junction unit 404 includes adders 261 and 262; a waveguide 405 includes delay units 263 and 269; and a junction unit 406 includes inverter 265 and low pass filter 266. Input data is expressed by a data train TD(i) which is 0 except in the range of 0.ltoreq.i.ltoreq.I where I is an integer which determines the train length of the input data. I is incremented at each of sample periods of Ts from the time (i=0) when the sound generation starts.
If the musical sound generating apparatus of FIG. 26 is made to correspond to a sound generating mechanism of an instrument of the type in which the strings are touched, shown in FIGS. 28A, B and C, the input data corresponds to the acceleration of a string given at a point B, while the time for which data is stored temporarily in the delay units 263, 269, and 264 401 correspond to the time required for the accelerations to propagate through the respective distances between the points B and C and between the points A and B. The processing operations by the inverter 265 and low pass filter 266 correspond to the influence of the reflection of the waves and cutoff of high frequencies (low pass filtering) at a support point C, while the processing operations by the inverter 267 and low pass filter 268 correspond to the influence of the reflection of the waves at point A and cutoff of high frequencies (low pass filtering).
FIG. 27 shows a circuit diagram of delay units 263, 264, 269 and 401. In FIG. 27, reference numeral 271 denotes a shift register which shifts data, stored temporarily therein, stage by stage in the output direction (rightward) in accordance with a system clock SCK (whose period corresponds to a sample period Ts) and which receives data at its input terminal (left terminal) synchronously with its shifting operation to output the data from its output terminal (right terminal); 272 denotes a delay unit which delays data output from adder 273 by one sample period Ts, the adder adding data output from shift register 271 and data output from a multiplier 276 which multiplies data output from delay unit 272 by an inverse of -a of the filter coefficiency; 274 denotes an adder which adds data output from delay unit 272 and data output from multiplier 275 which multiplies data output from adder 273 by a filter coefficient a. Alternatively, a memory which will be capable of storing a plurality of pieces of data temporarily and a circuit to manage the addresses of the memory may be used to perform a similar operation instead of shift register 271. The circuit portion of FIG. 27 except for shift register 271 is known generally as a first-order all-pass filter. The reason why the all pass filter is used in the delay unit is to improve the accuracy of a pitch by realizing a fractional delay. Therefore, a m/2-delay of delay units 264, 401 and n/2 delay of delay units 263 and 269 are treated as real numbers. The fractional delay corresponds to a time interval comprising a fraction of one sample period Ts.
FIGS. 28A, B and C schematically illustrate a sound generating mechanism of an instrument of the type in which a string supported at points A and C is touched. First, as shown in FIG. 28A, acceleration is generated at point B by picking up the string at point B and then releasing it. Then, as shown in FIG. 28B, the acceleration propagates in the directions of broken arrows with time. Further, as shown in FIG. 28C, the waves which have arrived at points A and C are reflected thereby and propagate again toward point B. By repetition of such operations, vibrations of the string occur. The acceleration propagating along the string will cause a barrel to vibrate at point C to thereby generate a sound. The conceivable influence on the propagating acceleration at points A and C is the reflection at the fixed end and the cutoff of high frequency components which will attenuate vibrations.
FIGS. 29A, B and C schematically illustrate a sound generating mechanism of an instrument of the type in which the strings are hit. In FIGS. 29A, B and C, the string is supported at points A and C. As shown in FIG. 29A, a displacement occurs at point B by hitting point B, for example, by a hammer of the piano. The displacement propagates in the directions of two broken arrows with time. The displacement propagating toward point A is reflected at once at point A, so that a displacement due to interference occurs as shown in FIG. 29B. As shown in FIG. 29C, the interference wave propagates toward point C and then reflection is repeated at points A and C to thereby cause vibrations of the string. The displacement propagating along the string vibrates the barrel at point C to thereby generate a sound. The conceivable influence on the propagating displacement at points A and C is reflection at the fixed end and the cutoff of high frequency components which will attenuate the vibrations.
FIG. 30 is a diagram of a circuit corresponding to the junction unit 404 of the musical sound synthesizing apparatus shown in FIG. 26. If the junction unit 404 is replaced by the circuit of FIG. 30, a sound generating mechanism of an instrument of the type where the strings are rubbed such as a violin is simulated.
In FIG. 30, reference numeral 301 denotes an adder which adds data v.sub.ir outputted from delay unit 269 and data v.sub.il outputted from delay unit 401; 302 denotes a subtracter which subtracts input data v.sub.b from the result v.sub.i of the addition by adder 301; 303 denotes a converter which reads acceleration data .DELTA.v stored therein beforehand by using as an address the result v of the subtraction by the subtracter 302; 304 denotes an adder which adds data v.sub.il and acceleration data .DELTA.v; and 305 denotes an adder which adds data v.sub.ir and acceleration data .DELTA.v.
FIG. 31 is a characteristic diagram indicative of the state of .DELTA.v stored in converter 303. In FIG. 31, the abscissae represents an address v input to converter 303; and the ordinate represents acceleration data .DELTA.v read from the converter 303. The diagram represents, as f(v)=.DELTA.v in an approximated form, the characteristic of a frictional force f(v) applied to the string from the bow where v is the relative velocity between the velocity v.sub.b of the bow and the velocity v.sub.i of the string and .DELTA.v is the acceleration applied to a material point where the bow and the string contact.
FIG. 32 schematically illustrates a sound generating mechanism of an instrument of the type in which the string is rubbed. In FIG. 32, the string is supported at points A and B. A frictional force f(v) is generated at point B by drawing a bow at a speed of v.sub.b. At this time, assume that the acceleration applied to point B is .DELTA.v. The speed v.sub.i of the string at point B is considered to be expressed by the sum of a velocity v.sub.il which has come back from point A and a velocity v.sub.ir which has come back from point C; namely, v.sub.i =v.sub.il +v.sub.ir. The relative velocity between the string and bow is v=v.sub.i -v.sub.b. The relationship between the acceleration .DELTA.v applied to the string and the relative velocity v between the string and bow is represented approximately by the characteristic diagram of FIG. 31. Assume that the velocity v.sub.i of the string at point B is 0 at the initial state. An acceleration of .DELTA.v=f(-v.sub.b) is applied to point B. The velocity v.sub.or =v.sub.ol =.DELTA.v propagates toward points C and B simultaneously, where v.sub.or is the velocity of the string propagating from point B to point C and v.sub.ol is the velocity of the string propagating from point B to point A. The propagating velocity is reflected at points A and C and comes back again to point B. The velocity v.sub.i of the string at the time is determined by the velocity which has come back. The value of the input acceleration .DELTA.v is determined from the relationship between v.sub.i and v.sub.b. The velocity v.sub.or propagating from point B to point C is v.sub.or =v.sub.il +.DELTA.v, while the velocity v.sub.ol propagating from point B to point A is v.sub.ol =v.sub.ir +.DELTA.v.
By repeating the above operations, the vibrations of the string occur. The velocity propagating along the string vibrates the barrel at point C to thereby generate a sound. The conceivable influence on the propagating velocity at point A and C is reflection due to the fixed end of the string and the cutoff of high frequency components which attenuates the vibrations.
The operation of the conventional music sound synthesizing apparatus having the above structure will now be described. First, the synthesization of a musical sound of the type produced by touching or hitting a string will be described with reference to FIG. 26, FIGS. 28A, B, C and FIGS. 29A, B, C. In FIGS. 28A, B, C and FIGS. 29A, B, C, an acceleration or a displacement is applied to point B by playing the instrument, for example, by touching or hitting the strings. The applied acceleration or displacement propagate toward points A and C and are reflected at those points (reversed and the high-frequency components are cut off) and comes back again to point B. By repeating those operations, a sound is generated. The period of the generated sound is the time required for the acceleration or displacement applied at point B to travel to points A and C and to come back to point B.
FIG. 26 shows an electronic digital circuit which realizes such sound generation. In FIG. 26, the acceleration or displacement applied to the string by the playing operation corresponds to input data which is propagated via waveguides 403 and 405 and processed (reversed and the high frequency components are cut off) by junctions 402 and 406. By repeating those operations, a synthetic sound is obtained corresponding to the vibration of the string.
The pitch P of the synthetic sound is given by EQU P=fs/L (1) EQU L=m+n+D (2)
where
fs is the sample frequency; PA1 D is the sum of phase delays occurring in the low pass filters 266 and 268; and PA1 L is the total sum of delays in a loop constituted by delay units 263, 264, 269, 401; inverters 265, 267; low pass filters 266, 268 and adders 261, 262 of FIG. 26.
The synthesization of a musical sound of the type generated by rubbing a string, as shown in FIG. 32, will be described with reference to FIGS. 26, 30, 31 and 32. In FIG. 32, a frictional force f is generated at point B, by the playing operation, for example, by rubbing the string, the force f generates an acceleration .DELTA.v applied to the string, the acceleration .DELTA.v is applied to the velocity of the string at that time to thereby determine a new velocity of the string. The acceleration .DELTA.v is obtained in an approximated form by the characteristic diagram of FIG. 31 and the following equations: EQU v.sub.or =v.sub.il +.DELTA.v (3) EQU v.sub.ol =v.sub.ir +.DELTA.v (4) EQU v.sub.i =v.sub.il +v.sub.ir ( 5) EQU .DELTA.v=f(v)=f(v.sub.i -v.sub.b) (6)
The velocities of the string thus determined at point B propagate toward points A and C, are reflected by those points (reversed and the high frequency components are cut off) and come back to point B. By repeating those operations, a sound is generated.
FIG. 26 shows an electronic digital circuit which realizes such sound generation. (Junction 404 uses the circuit of FIG. 30.) In FIG. 26, the drawing velocity v.sub.b of the bow corresponds to input data. The input data v.sub.b and data on the velocity v.sub.i (=v.sub.il +v.sub.ir) stored temporarily in waveguides 403 and 405 determine new velocities v.sub.ol and v.sub.or of the string, which new velocities are propagated by waveguides 403 and 405 and processed (reversed and the high frequency components are cut off) by junctions 402 and 406. The velocities v.sub.il and v.sub.ir of the string which have come back to junction 404 determine the next velocity of the string as velocity v.sub.i (=v.sub.il +v.sub.ir). By repeating those operations, output data is obtained corresponding to vibrations of the string.
The above conventional structure has the following three problems:
(1) Since the delay units, inverters and low pass filters which process data are distributed at several points, the number of steps required for the synthesization of a musical sound is excessively large and therefore synthesized high-quality sound cannot be obtained;
(2) If the high-frequency component cutoff characteristic of the low pass filters is controlled to control the sound color, the factor L (in equations 1 and 2) would change to thereby cause the pitch of the synthetic sound to change;
(3) If the loop-like circuit comprising the waveguides and junctions is constituted as a pipeline configuration in order to increase the processing speed, a quantity of delay occurs which corresponds to the number of pipeline stages to thereby change the pitch; and
(4) A sound similar to a hammer sound in a piano which is generated by an operation other than the vibrations of the strings cannot be synthesized.